Research 
   

Several issues in model evolution and some papers on them

In MDSD, as systems evolve, models, meta-models will also need to be modified. Some concepts in traditional software engineering need to be introduced to MDSD. Here's (a list of some related topics and some research papers on them.)

1. Model version control
( Merging graph-like object structures by Albert Zundorf,Jorg P.Wadsack and Ingo Rockel)

2. Model transformation testing
( A Testing Framework for Model Transformations by Yuehua Lin,Jing Zhang,and Jeff Gray)

3. Model validation maintenance in the process of meta-model evolution
( A Generative Approach to Model Interpreter Evolution by Jing Zhang,Jeff Gray,and Yuehua Lin)

The fundation for all the above-mentioned topics is a well-founded model comparison mechanism ( Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development by Yuehua Lin,Jing Zhang and Jeff Gray).

Yet, to provide such a mechanism is much more complicated than it seems to be. It leads to many challenging questions which are still open:

1. Definition of model difference
What is the difference between two models? The answer could be quite different based on differente abstraction levels and in different contexts. To answer this question properly is the first step to an effective and efficient model comparison mechanism.

2. Model representations
Models can be stored in many forms.

  • Tool specific internal data structure
    Models defined in MOF-based(or EntityRelationship-based,Class Diagram-based) formalisms can be stored as typed attributed graphs. These are implemented as tool-specific data structure. APIs are provided for visiting the model elements.

  • XML form
    Models can also be stored as XML files. XMI by OMG provides the standard for representing UML diagrams in XML.
But what representation is the best for comparison? There're a lot of debats in this questions.

3. Algorithms to calculate the model difference
Based on differente model representations, there're different algorighms to calculate the difference.

4. Representation of the model difference
How to represente the model difference? Should it be a XML file? a graph? or other forms? This question is especially important for the efficient use of the model comparison results.

Maintained by He Wei. Last Modified: 2005/03/11 23:24:24.